#!/bin/sh
# 
# by Cr & MpD 2012
# 
# Package RAweb lIght 
#
# Compilation d'une version simplifiée du rapport d'activité Inria
#
# TeX -> XML (+ CSS)
# Lance tralics sur le fichier tex dans projets/NomProjet :
# projets/NomProjets/NomProjetsAnnee.tex
# Lance un navigateur pour visualiser grace a du CSS le fichier XML obtenu.
# 
# Le package RAweb_lIght replace le package RAweb habituel.
#
# Pour Windows installer Cygwin avec les outils make et g++
# Cygwin est disponible sur http://www.cygwin.com/
#
# Sous macOS X, le script raweb.sh doit être lancé dans 
# une fenêtre Terminal qui se trouve sur : 
# Applications/Utilitaires/Terminal.app
#
# Version raweb-light : 12-1.0.3
#

Annee="2012"
Ver_Tralics="2.14.5"
Dir_Tralics="tralics-$Ver_Tralics"

Param_Projet=$1

if [ "$Param_Projet" = "" ]
then
Param_Projet="*"
fi


Nbre_File=1

if [ -e "./projets" ]
then
#echo "1"
Nbre_File=`/bin/ls projets |wc -l` 
Dir_Tralics="$Dir_Tralics"
Fichier_tex=`ls -1 projets/*/$Param_Projet$Annee.tex 2>/dev/null | head -1 `

elif [ -e "../projets" ]
then
#echo "2"
Nbre_File=`/bin/ls ../projets |wc -l` 
Dir_Tralics="../$Dir_Tralics"
Fichier_tex=`ls -1 ../projets/*/$Param_Projet$Annee.tex 2>/dev/null | head -1 2>/dev/null`

elif [ -e "../../projets" ]
then
#echo "3"
Nbre_File=`/bin/ls ../../projets |wc -l` 
Dir_Tralics="../../$Dir_Tralics"
Fichier_tex=`ls -1 ../../projets/*/$Param_Projet$Annee.tex 2>/dev/null | head -1` 
fi

Bin_Tralics="$Dir_Tralics/src/tralics"
Conf_Tralics="$Dir_Tralics/confdir"

if [ ! -e "$Bin_Tralics" ]
then
Pwd_Sauve=`pwd`
#echo "d=$Pwd_Sauve"
echo ""
echo "Compilation du compilateur..."
echo "" 
cd $Dir_Tralics/src
make
cd $Pwd_Sauve
fi 

if [ -e "$Bin_Tralics" -a "$Nbre_File" -lt 1 ] 
then
echo ""
 echo "INSTRUCTIONS"
echo ""
echo "Recuperer le squelette de votre rapport depuis http://irabot.inria.fr/"
echo "Le copier dans le repertoire ./projets et lancer : tar zxvf Mon_Projet$Annee.tgz"
echo "Allez dans le repertoire du nom du projet et modifier les fichiers."
echo "Compiler le rapport en lancant : ../../raweb.sh"
echo "La visualisation s'effectue a l'aide de firefox."
echo "Pour en savoir plus lisez le Readme"
echo ""
exit
fi 

if [ ! -f "$Fichier_tex" ]
then
echo ""
echo "Le fichier tex n'existe pas !"
echo ""
exit
fi

#echo "ft=$Fichier_tex"

OSTYPE=`uname`

if [ $OSTYPE = "Darwin" ]
then
#echo "Mac OS X" 
    Projet=`basename -s $Annee.tex $Fichier_tex`
else
#echo "Linux et Cygwin"
    Projet=`basename $Fichier_tex $Annee.tex`
fi

echo ""
echo " Compilation : $Projet - $Annee"
echo ""
echo " ------------------------------"
echo ""

$Bin_Tralics -utf8 -utf8output -confdir $Conf_Tralics -entnames=false $Fichier_tex 

Fichier_xml=`echo $Fichier_tex|sed "s/$Annee\.tex$/\.xml/"`

#echo "Ft=$Fichier_tex"
#echo "Fx=$Fichier_xml"

if [ -f "$Fichier_xml" ]
then
    xmldir=`dirname $Fichier_xml`
    sed  "s/<raweb/<?xml-stylesheet href=\"..\/..\/css\/visu_xml_raweb.css\" type=\"text\/css\"?><raweb/" $Fichier_xml > $xmldir/file_xml.tmp
    mv $xmldir/file_xml.tmp $Fichier_xml
else
    echo "Pas de fichier xml ?!"
    exit
fi

# Ouvrez $Fichier_xml avec un navigateur qui sait
# représenter du XML avec des feuilles de style CSS,
# par exemple firefox.

echo ""
echo "Lancement du navigateur..."
#echo ""


if [ "$OSTYPE" != "Darwin" ] 
then
    OSTYPE=`uname -o`
fi

#echo "os=$OSTYPE"
#echo "$Fichier_xml"

if [ "$OSTYPE"  = "Cygwin" ]
then
    echo "Système Windows"
    /cygdrive/c/Program\ Files/Mozilla\ Firefox/firefox.exe $Fichier_xml &
elif [ "$OSTYPE"  = "Darwin" ]
then
echo "système MacOS X" 
# Test pour savoir si Fx est ouvert
    test=$(ps axo comm | grep -o firefox|sed '2,$d')
    if [ "$test" == "firefox" ];
    then
	open -a Firefox $Fichier_xml
    else
	/Applications/Firefox.app/Contents/MacOS/firefox-bin -new-tab $Fichier_xml &
    fi
else
    echo "Système Linux"
    firefox $Fichier_xml &
fi
echo ""
